package com.gitee.slowcreator.http.params;

import com.gitee.slowcreator.http.constant.ScParamsTypeConstant;
import com.gitee.slowcreator.http.enums.RequestType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;
import java.util.Set;

/**
 * @author zxw
 * @date 2023/1/6 下午9:07
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ScUnionParams implements ScBase {

    /**
     * 请求body 也可以传入{@link ScBody}
     */
    private Map<String, Object> httpBody;

    /**
     * 请求header 也可以传入{@link ScHeader}
     */
    private Map<String, String> httpHeader;

    /**
     * params 参数 也可以传入{@link ScParams}
     */
    private Map<String, String[]> httpParams;

    /**
     * 文件数据
     */
    private ScMultipart scMultipart;

    /**
     * 需要的返回头部信息 也可以传入{@link ScReturnHeader}
     */
    private Set<String> returnHeader;

    /**
     * http 请求url 会覆盖HttpClient的url
     */
    private String httpUrl;

    /**
     * 请求类型
     */
    private RequestType requestType;

    @Override
    public String type() {

        return ScParamsTypeConstant.UNION_PARAMS;
    }
}
